package com.yeyks.activity.dal.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 活动奖品配置表
 * </p>
 *
 * @author yun
 * @since 2019-11-28
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="ActivityPrizeInfo对象", description="活动奖品配置表")
public class ActivityPrizeInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty(value = "活动编号(自定义)")
    @TableField("activity_code")
    private String activityCode;

    @ApiModelProperty(value = "奖品层级,1,2")
    @TableField("level")
    private Integer level;

    @ApiModelProperty(value = "是否有下级,1有0无")
    @TableField("whetherAppend")
    private Integer whetherAppend;

    @ApiModelProperty(value = "父级id")
    @TableField("parent_id")
    private Integer parentId;

    @ApiModelProperty(value = "奖品名称")
    @TableField("prize_name")
    private String prizeName;

    @ApiModelProperty(value = "奖品图片地址")
    @TableField("prize_image_url")
    private String prizeImageUrl;

    @ApiModelProperty(value = "奖品中奖返回图片地址")
    @TableField("prize_image_return_url")
    private String prizeImageReturnUrl;

    @ApiModelProperty(value = "类型：1:通用类型  2:兑换码类型(有明细) 3:优惠券 4:红包 99:谢谢参与")
    @TableField("prize_type")
    private Integer prizeType;

    @ApiModelProperty(value = "0：不可用 1：可用")
    @TableField("status")
    private Integer status;

    @ApiModelProperty(value = "发行量")
    @TableField("pub_count")
    private Integer pubCount;

    @ApiModelProperty(value = "已领取个数")
    @TableField("take_count")
    private Integer takeCount;

    @ApiModelProperty(value = "剩余个数")
    @TableField("remain_count")
    private Integer remainCount;

    @ApiModelProperty(value = "操作人ID")
    @TableField("operator_id")
    private Integer operatorId;

    @ApiModelProperty(value = "使用说明")
    @TableField("remark")
    private String remark;

    @ApiModelProperty(value = "截至兑换日期")
    @TableField("end_time")
    private Date endTime;

    @ApiModelProperty(value = "奖品金额")
    @TableField("prize_price")
    private Integer prizePrice;

    @ApiModelProperty(value = "百分比 中奖权重")
    @TableField("chance_percent")
    private Double chancePercent;

    @ApiModelProperty(value = "优惠券id")
    @TableField("coupon_id")
    private Integer couponId;

    @ApiModelProperty(value = "优惠券满减额度")
    @TableField("coupon_value")
    private String couponValue;

    @TableField("gmt_create")
    private Date gmtCreate;


    public static final String ID = "id";

    public static final String ACTIVITY_CODE = "activity_code";

    public static final String LEVEL = "level";

    public static final String WHETHERAPPEND = "whetherAppend";

    public static final String PARENT_ID = "parent_id";

    public static final String PRIZE_NAME = "prize_name";

    public static final String PRIZE_IMAGE_URL = "prize_image_url";

    public static final String PRIZE_IMAGE_RETURN_URL = "prize_image_return_url";

    public static final String PRIZE_TYPE = "prize_type";

    public static final String STATUS = "status";

    public static final String PUB_COUNT = "pub_count";

    public static final String TAKE_COUNT = "take_count";

    public static final String REMAIN_COUNT = "remain_count";

    public static final String OPERATOR_ID = "operator_id";

    public static final String REMARK = "remark";

    public static final String END_TIME = "end_time";

    public static final String PRIZE_PRICE = "prize_price";

    public static final String CHANCE_PERCENT = "chance_percent";

    public static final String COUPON_ID = "coupon_id";

    public static final String COUPON_VALUE = "coupon_value";

    public static final String GMT_CREATE = "gmt_create";

}
